/******************************************************************
 * 文件：PID.h
 * 功能：PID控制函数
 * 日期：2018-02-16
 * 作者：zx
 * 版本：Ver.1.0 | 最初版本
 * 
 * Copyright (C) 2018 zx. All rights reserved.
*******************************************************************/
#ifndef __PID_H
#define __PID_H

#include "stm32f10x.h"

typedef struct PID
{
    float P, I, D, limit; //积分限幅
    float T;              //PID计算周期
    int CurrPwm;
    int Now_place;
    int Target;
} PID;

typedef struct Error
{
    float Current_Error;  //当前误差或积分误差
    float Last_Error;     //上一次误差
    float Previous_Error; //上上次误差
} Error;

extern PID pid;
extern Error sptr;
extern int pwmval;

void PID_OUT(void);
int PID_Realize(Error *sptr, PID *pid);
int PID_Increase(Error *sptr, PID *pid);

#endif
